Skip to content

feat(signs): Phase D — Signs view, corpus analytics, anchored sign cross-references#32

Closed
tbitcs wants to merge 1 commit into
phase-nextfrom
overhaul/signs
Closed

feat(signs): Phase D — Signs view, corpus analytics, anchored sign cross-references#32
tbitcs wants to merge 1 commit into
phase-nextfrom
overhaul/signs

Conversation

@tbitcs

@tbitcs tbitcs commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Phase D — Signs, Corpus Analytics, and Anchored Sign Cross-References

Backend

  • Signs API (�ackend/glossa_lab/api/signs.py): Three endpoints mounted at /api/v1/signs:
    • GET /signs — paginated, filterable sign list (deciphered, confidence, in_corpus, search)
    • GET /signs/summary — aggregate counts (total, deciphered, undeciphered, HIGH/MEDIUM/LOW, in_corpus)
    • GET /signs/{sign_id} — full detail with cross-references
  • In-memory sign index built lazily from INDUS_FINAL_ANCHORS.json (605 signs), anchor_sets DB table, and staging files
  • Router registered in main.py
  • Seed script (�ackend/scripts/seed_canonical_signs.py): Populates canonical_signs table from all anchor sources using sqlite3

Frontend

  • SignsView ( rontend/src/components/SignsView.tsx):
    • Header with summary stats (deciphered / undeciphered / known / in corpus)
    • Filter bar with confidence multi-select chips, search, in_corpus toggle
    • Two-column responsive grid of sign cards with SVG glyph placeholders (deterministic color based on sign_id hash)
    • Each card shows reading, confidence chip, corpus freq, cross-references (phase, DEDR, experiment), action buttons
    • Slide-over detail panel on click
    • Pagination
    • Tab bar switching between Signs Index and Corpus Analytics
  • CorpusAnalyticsPanel ( rontend/src/components/CorpusAnalyticsPanel.tsx):
    • World corpus catalogue table with language family, script type, tokens, reading direction
    • Overlap percentage heatmap bars
    • Contact Score placeholder column
    • Language family and script type filters
  • Navigation: Signs tab now renders SignsView (was SignDictionary), "View all signs →" button on Dashboard after DeciphermentPanel
  • API types: SignEntry, SignsSummary, SignsListResponse added to api.ts

Validation

px tsc -b --noEmit — 0 errors

px vite build — passes (232 modules, 1.99s)

  • Seed script finds 605 signs from INDUS_FINAL_ANCHORS.json (DB seeding runs at app startup)

Conversation: https://app.warp.dev/conversation/e3fbaec2-4a0b-454f-9c90-8d6c6289f60a
Run: https://oz.warp.dev/runs/019e84ec-7a7d-76c2-8174-7284911f65ae

This PR was generated with Oz.

…oss-references, canonical sign seeding

- Backend: Signs API (GET /signs, /signs/summary, /signs/{id}) with in-memory index from INDUS_FINAL_ANCHORS.json, anchor_sets DB, and staging files
- Backend: seed_canonical_signs.py script to populate canonical_signs table from all anchor sources
- Frontend: SignsView with filterable sign cards, SVG glyph placeholders, confidence chips, cross-references to experiments/DEDR/reports
- Frontend: CorpusAnalyticsPanel with world corpus catalogue table, language family/script filters, overlap bars, contact score placeholder
- Frontend: Navigation wired (Signs tab renders SignsView), dashboard link to signs view
- API types added to api.ts (SignEntry, SignsSummary, etc.)
- All TS errors resolved, vite build passes

Co-Authored-By: Oz <oz-agent@warp.dev>
@tbitcs

tbitcs commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Closing: all changes from this branch have been absorbed into phase-next. Superseded by the ongoing work on that branch.

@tbitcs tbitcs closed this Jun 9, 2026
@tbitcs tbitcs deleted the overhaul/signs branch June 9, 2026 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant